package com.gitee.feizns.itrip.personal.beans.pojo;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author feizns
 * @since 2019-01-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("itrip_user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 若是第三方登录，系统将自动生成唯一账号；自注册用户则为邮箱或者手机号
     */
    private String userCode;
    /**
     * 若是第三方登录，系统将自动生成唯一密码；自注册用户则为自定义密码
     */
    private String userPassword;
    /**
     * 用户类型（标识：0 自注册用户 1 微信登录 2 QQ登录 3 微博登录）
     */
    private Integer userType;
    /**
     * 平台ID（根据不同登录用户，进行相应存入：自注册用户主键ID、微信ID、QQID、微博ID）
     */
    private Long flatID;
    /**
     * 用户昵称
     */
    private String userName;
    /**
     * 微信号
     */
    private String weChat;
    /**
     * qq账号
     */
    private String qq;
    /**
     * 微博账号
     */
    private String weibo;
    /**
     * 百度账号
     */
    private String baidu;
    private Date creationDate;
    private Long createdBy;
    private Date modifyDate;
    private Long modifiedBy;
    /**
     * 是否激活,(0 false，1 true,默认是0)
     */
    private Integer activated;

    public User() {}

    public User(Integer activated) {
        this.activated = activated;
    }

    public User(String userCode, String userPassword) {
        this.userCode = userCode;
        this.userPassword = userPassword;
    }

    public User(Integer userType, java.sql.Date creationDate, Integer inactivated) {
        this.userType = userType;
        this.creationDate = creationDate;
        this.activated = activated;
    }

}
